Computer systems are important tools used in many different ways, by many different people. Computer systems themselves, however, are only one aspect of the utility provided. Another important tool that works in conjunction with computer systems, are the applications, i.e., computer applications that are executed on the computer systems. These computer applications are programs, typically written by application developers, compiled into object code, and then stored on the various computer systems for operation. The creation and use of computer applications is a well-known aspect of computer technology in general.
When creating a computer application, the developer typically must chose a particular environment, or platform on which the application will ultimately be executed. For example, when writing an application, the developer must choose either the Microsoft Windows® platform, the LINUX™ platform, or some other platform. As a result of this choice, the program developer may have different options available for writing the application.
As an example, the typical platform provides a user interface display engine that receives commands and information from the application during runtime and responds by displaying that information on a user interface device, such as a computer monitor. Thus, the application developer must create or program the application to make the right call to the platform to thus cause the platform to respond by displaying the right data, in the right format, when desired.
Typically, in order to make the right call, the program developer must create some program code that ties the data to be displayed with the user interface elements, e.g., font type, font size, font color, etc. such that the platform simply interprets the command and renders the correct display. Although functional, this process suffers certain drawbacks.
For instance, when displaying a list of items, wherein each listed item has the same user interface elements, the program developer must explicitly tie each list item to the user interface elements. This is cumbersome and repetitive since the user interface elements must be repeated for each item. Also, when the data is tightly connected to the user interface the process of making changes is very difficult in that each change requires a translation back into the data's native form before storing and/or propagating to other computer processes and systems. Furthermore, the developer must understand not only the content but how it ties to the user interface control elements.
It is with respect to these and other considerations that the present invention has been made.